﻿// owner 蒋家伟

#pragma once
#include "DataSchema_home.h"

namespace jsdk
{
    class IExternalData;
}

namespace jsdk
{
    // 类别描述 : 外部数据组件, 所有定制化的定义数据都存储在外部数据组件的外部数据中
    class DATASCHEMA_EXPORT IExternalDataComponent
    {
        DEFINE_DRIVER_BASE(IExternalDataComponent)
    public:
        virtual ~IExternalDataComponent() {}
#pragma region 通用
        /// \ brief 通过key值获取外部数据
        /// \ in externalDataKey 注册外部数据时所用的key
        virtual const IExternalData* getExternalData(const std::wstring& externalDataKey) const = 0;

        /// \ brief 通过key值获取外部数据
        /// \ in externalDataKey 注册外部数据时所用的key
        virtual IExternalData* getExternalData(const std::wstring& externalDataKey) = 0;
#pragma region 通用
    };
}
